



package Interfaz;

import dao.*;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.List;
import javax.swing.*;
import jpapractica.*;
/**
 *
 * @author LenovoPC
 */

public class gui extends JFrame implements ActionListener{
    
   
   ArtistManager artistManager = new ArtistManager();  
   ActorManager actorManager = new ActorManager();
   DirectorManager directorManager = new DirectorManager();
   MovieManager movieManager = new MovieManager();
   PersonManager personManager = new PersonManager();
   SongManager songManager = new SongManager();
   SoundtrackManager soundtrackManager = new SoundtrackManager();
    JLabel sele;
    String [] lista={"-----------","Pelicula","Actor","Artista","Director"};
    JComboBox opciones= new JComboBox(lista);
    JButton buscar;
    JTextField usuario;
    JPasswordField contraseña;
    JButton aceptar;
    JButton agregar;
    JButton actualizar;
    JButton borrar;
    JPanel p4;
    JTextField palabra;

    JTextField seleccionPeli;
    JButton mostrarPeli;
    JTextArea muestra;
    String seleccionado = null ;
    Movie aux= null;

    

    public gui(){
        
      super( "PELICULAS " );

     String[] nombreCol = { "Nombre" ,"año" ,"Genero" , "Director","rating","For rentar","Para comprar"};

   
      JTabbedPane tabbedPane = new JTabbedPane(); 
      GridLayout b=new GridLayout(3,1);
      GridLayout gr= new GridLayout(2,1); 
      GridLayout gr2= new GridLayout(2,3);

      GridLayout gr3= new GridLayout(4,2,40,3);
      
      GridLayout layopane13 = new GridLayout(1, 3, 10, 2);

      
      JPanel panel1 = new JPanel(); 
      JPanel p2= new JPanel();
      JPanel p3= new JPanel();
      p4= new JPanel();
      
      panel1.setLayout(b);
      p2.setLayout(gr);
      p3.setLayout(gr2);
      p4.setLayout(gr3);
      
      tabbedPane.addTab( "Administrar", null, panel1, "First Panel" ); 
      JLabel anuncio= new JLabel("INGRESE A SU CUENTA PARA MODIFICAR INFORMACIÓN");
      anuncio.setForeground(Color.blue);
     
      JLabel user=new JLabel("               Usuario:");
      JLabel contra= new JLabel("         Contraseña:");
      usuario= new JTextField();
      contraseña= new JPasswordField();
      aceptar = new JButton("Aceptar");
      p3.add(user);
      p3.add(usuario);
      p3.add(new JLabel("   "));
      p3.add(contra);
      p3.add(contraseña);
      p3.add(aceptar);
      

    
      agregar = new JButton("Agregar");
      actualizar=new JButton("Actualizar");
      borrar= new JButton("Borrar");
      borrar.setEnabled(false);
      
      p4.add(new JLabel(" "));
      p4.add(agregar);
      p4.add(new JLabel(" "));
      p4.add(actualizar);
      p4.add(new JLabel(" "));
      p4.add(borrar);
      p4.add(new JLabel(" "));
      
      agregar.setEnabled(false);
      actualizar.setEnabled(false);
      borrar.setEnabled(false);
     
      p2.add(anuncio);
      p2.add(p3);
      
      panel1.add(p2);
      JLabel sel=new JLabel("         Seleccione el campo que desea modificar:");
      sel.setForeground(Color.blue);
      panel1.add(sel);
      
      panel1.add(p4);
       
     
      JPanel panel2 = new JPanel(); 
      panel2.setBackground( Color.WHITE ); 
      sele =new JLabel("Buscar películas por:");
      sele.setForeground(Color.blue);
      buscar =new JButton("Buscar");
      BorderLayout p= new BorderLayout();
      GridLayout g= new GridLayout(1, 4);
      panel2.setLayout(p);
      JPanel pane13 = new JPanel(layopane13);
      seleccionPeli = new JTextField();
      seleccionPeli.setToolTipText("ingresar el numero de la pelicula que quiere ver en detalle");
      mostrarPeli = new JButton("Mostrar");
      pane13.add(new JLabel("seleccione numero de peli"));
      pane13.add(seleccionPeli);
      pane13.add(mostrarPeli);
      JPanel arri=new JPanel();
      muestra = new JTextArea(12,30);
     // muestra.setSize(80, 80);
      muestra.setVisible(true);
      
      JPanel datos=new JPanel();//panel donde se mostraran resultados de la busqueda
      //datos.setBackground(Color.WHITE);
     
      datos.add(new JScrollPane(muestra, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS ));
      palabra= new JTextField();
      arri.setLayout(g);
      arri.add(sele);
      arri.add(opciones);
      arri.add(palabra);
      arri.add(buscar);
      panel2.add(arri,BorderLayout.NORTH);
      panel2.add(datos,BorderLayout.CENTER);
      panel2.add(pane13,BorderLayout.SOUTH);
     
      
      
      
      tabbedPane.addTab( "Búsqueda", null, panel2, "Second Panel" ); 
      
      add( tabbedPane ); 
      setSize(520, 350);
      setVisible(true);
      setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
      
      aceptar.addActionListener(this);
      buscar.addActionListener(this);
      agregar.addActionListener(this);
      actualizar.addActionListener(this);
      borrar.addActionListener(this);
      mostrarPeli.addActionListener(this);

      
      
   } 
    public static void main(String[] args) {
      

      
      gui principal=new gui();  
      
      
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        Object boton= e.getSource();
        MovieManager movies = null;
        int elementoslista=99999;
     
        List<Movie> listapeli= null;

        
        if (boton == aceptar){
            if (contraseña.getText().equals("123456")&& usuario.getText().equals("anln"))
                {
                JOptionPane.showMessageDialog(null,"acceso concedido");
                agregar.setEnabled(true);
                actualizar.setEnabled(true);
                borrar.setEnabled(true);
                
            }else JOptionPane.showMessageDialog(null, "La contraseña o el usuario son incorrectos");
        } 

        if (boton ==agregar){
           formulario f= new formulario();
           
                f.buscPeli.setEnabled(false);
                f.buscPel.setEnabled(false);
                f.buscarPer.setEnabled(false);
                f.actualizarPeli.setEnabled(false);
                f.actualizarPer.setEnabled(false);
                f.borrarPer.setEnabled(false);
                f.borrarPeli.setEnabled(false);    
                
        }

        if(boton == buscar){
             seleccionado = (String)opciones.getSelectedItem();
            System.out.println(seleccionado);
            if(seleccionado.equals("Pelicula")){       
                 listapeli=  movieManager.buscar(palabra.getText());
      
                elementoslista = listapeli.size();
                
                for (int i = 0; i < elementoslista; i++) {
                    aux=listapeli.get(i);
                    DescripcionPeli pel =new DescripcionPeli(aux);
                    muestra.append("PELICULA NUMERO = "+i+"\n"+"Nombre = "+aux.getName()+
                            "\n"+"Año= "+aux.getYearM()+"\n"+"Genero = "+aux.getGenero()+"\n\n");
                }
                       
            }//fin busqueda por peliculas
            if(seleccionado.equals("Actor")){
                List<Actor> listaActores = actorManager.buscar(palabra.getText());
                Actor auxActor;
                int numeroActores= listaActores.size();
                int x=0;
                for (int j = 0; j < numeroActores; j++) {
                    x=j;
                    auxActor=listaActores.get(j);
                    muestra.append("ACTOR NUMERO = "+auxActor.getId()+"\n"+"Nombre = "+auxActor.getName()+
                            "\n"+"Apellido = "+auxActor.getLastname()+"\n");
                }
            }
            if(seleccionado.equals("Artista")){
                
                List<Artist> listaArtistas = artistManager.buscar(palabra.getText());
                Artist auxArtista;
                int numeroArtistas= listaArtistas.size();
                for (int j = 0; j < numeroArtistas; j++) {
                    auxArtista=listaArtistas.get(j);
                    muestra.append("ARISTA NUMERO = "+auxArtista.getId()+"\n"+"Nombre = "+auxArtista.getName()+
                            "\n"+"Apellido = "+auxArtista.getLastname()+"\n");
                }
            }
            if(seleccionado.equals("Director")){
                
                List<Director> listaDirectores = directorManager.buscar(palabra.getText());
                Director auxDirector;
                int numeroDirectores= listaDirectores.size();
                for (int j = 0; j < numeroDirectores; j++) {
                    auxDirector=listaDirectores.get(j);
                    muestra.append("ARISTA NUMERO = "+auxDirector.getId()+"\n"+"Nombre = "+auxDirector.getName()+
                            "\n"+"Apellido = "+auxDirector.getLastname()+"\n");
                }
            }               

        }//fin boton buscar 
        
        if(boton == mostrarPeli  ){
            int x = Integer.parseInt(seleccionPeli.getText());
            System.out.println(seleccionado+"   hollaaaa  ");
            if (x<=elementoslista && seleccionado.equals("Pelicula") && movies !=null) {
               aux = listapeli.get(x); 
                System.out.println(aux.getName());
                
            }
            
            DescripcionPeli mostrarPelicula = new DescripcionPeli(aux);
      
        }

        if (boton ==actualizar){
            formulario f= new formulario();
                f.agregarPeli.setEnabled(false);
                f.agregarPer.setEnabled(false);
                f.borrarPeli.setEnabled(false);
                f.borrarPer.setEnabled(false); 
        }
        if (boton ==borrar){
             formulario f= new formulario();
                f.agregarPer.setEnabled(false);
                f.agregarPeli.setEnabled(false);
                f.actualizarPer.setEnabled(false);
                f.actualizarPeli.setEnabled(false);
        }
    }  

        
    }//fin frame
    


